/**
 * 封装数据库连接骨架的方法
 * @param {*} success 数据库连接成功的回调
 * @param {*} err     数据库连接失败的回调
 */

module.exports = function (success, err = () => console.log("数据库连接失败")) {
    const mongoose = require('mongoose');
    const {DBHOST, DBPORT, DBNAME, DBUSER, DBPWD} = require("../config/config.js")

    // 连接mongodb 协议+用户名+密码+@+IP+端口+数据库的名称
    mongoose.connect(`mongodb://${DBUSER}:${DBPWD}@${DBHOST}:${DBPORT}/${DBNAME}`)

    // 设置回调
    // 连接成功的回调 once: 事件只执行一次
    // 在open
    mongoose.connection.once('open', () => {
        success();
    })
    // 连接错误的回调
    mongoose.connection.on('error', () => {
        err();
    })
    // 连接关闭的回调
    mongoose.connection.on('close', () => {
        console.log("连接关闭");
    })
}

